Firebase Auth
全体的な仕組み
reference
ログイン状態をみる。observerを使う。(初期化が済んでるかどうかを気にしなくてもよい)
firebase.auth().onAuthStateChanged( (user) => { if(user)...})
ユーザー情報
firebase.auth().currentUser
signInSuccessWithAuthResult
success時に呼ばれる。
signInSuccessUrlが設定されていると、そちらが優先される。
parameter
authResult: firebase.auth.UserCredentialと同じsignitureなので、いろいろ情報ある。
redirectUrl: これは、たぶん、signInSuccessUrlが渡される?
cookieベースの認証(clientでsetしてserver側でcheck)をする際に、
認証完了後に、singInSuccessUrlでredirectだとcookieを設定するフローがない。
なので、cookieをsetしてからredirectするようにする。
code: signInSuccessWithAuthResult.js
var uiConfig = {
callbacks: {
signInSuccessWithAuthResult: function (authResult, redirectUrl) {
console.log("success", authResult)
authResult.user.getIdToken(true).then((token) => {
document.cookie = "token=" + token;
window.location.href = "/"
})
return false;
}, //.....
}
tokenをcheckしてみる。以下のurlに tokenを渡してみて、何者か、署名が正しいかが検証できる。
claimsの中身
name
picture
iss
aud
auth_time
user_id
sub
iat
exp
email
email_verified
firebase